// ============================== 导入依赖 ============================== //

import Vue from 'vue'
import state from '@admin/views/Secure/Video/VideoPatrol/store/state'

// ============================== 导出状态集 ============================== //

export default {
  // —————————————————————————————— 常量配置 —————————————————————————————— //

  /**
   * 接口
   */
  API: {
    ...state.API,
    validOne(one) {
      return one.id
    },
    transOne(obj, { rootState: { MAP } }) {
      obj.patrolRouteDeviceDto.forEach(({ deviceId, deviceName, thirdCode }) => {
        Vue.set(MAP, deviceId, { deviceId, deviceName, thirdCode })
        if (thirdCode) Vue.set(MAP, thirdCode, deviceId)
      })
      return obj
    },
  },

  /**
   * 映射
   */
  MAP: state.MAP,

  /**
   * 下拉框字段 (可增加)
   */
  SELECT_FIELD: ['id', 'patrolRouteName'],

  /**
   * 初始单项
   *
   * 1. 初始存在，才能响应
   * 2. CORE.mixStore(store) 时使用
   * 3. setOne() 重置时使用
   * 4. openAdd() 新增时使用
   */
  INIT_ONE: state.INIT_ONE,
}
